package com.lingnan.mapper;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lingnan.dto.HrJobStatisticsDto;
import com.lingnan.dto.JobPositionPageDto;
import com.lingnan.entity.po.JobPosition;
import org.apache.ibatis.annotations.Param;

/**
* @author abc20
* @description 针对表【job_position(企业招聘职位表)】的数据库操作Mapper
* @createDate 2025-07-21 14:35:19
* @Entity com.lingnan.domain.JobPosition
*/
public interface JobPositionMapper extends BaseMapper<JobPosition> {

    /**
     * 分页查询职位信息（包含投递数统计）
     * @param page 分页对象
     * @param queryWrapper 查询条件
     * @return 职位分页数据
     */
    IPage<JobPositionPageDto> selectJobPositionPage(
            @Param("page") IPage<JobPositionPageDto> page,
            @Param("ew") QueryWrapper<JobPosition> queryWrapper
    );

    /**
     * 根据ID查询职位详情（包含投递数统计）
     */
    JobPositionPageDto selectJobPositionById(@Param("id") Long id);


    /**
     * 获取HR的职位统计信息
     */
    HrJobStatisticsDto selectHrJobStatistics(@Param("hrId") Long hrId);

    int incrementViewCount(@Param("hrId")Long id);
}




